const express = require('express');
const router = express.Router();
const AgriController = require('../controller/AgriController');  // 导入控制器
const pool = require('../database/db'); // 数据库连接池
const agriController = new AgriController(pool);
const upload = require('../config/multerConfig');

// 根据id获取产品信息
router.get('/id', (req, res) => {
    agriController.getProductById(req, res);  // 调用控制器方法
});

// 下架农产品（软删除）
router.post('/deactivate', (req, res) => {
    agriController.deactivateProduct(req, res);  // 调用控制器方法
});

// 获取用户所有农产品（包括已下架）
router.get('/', (req, res) => {
    agriController.getUserProducts(req, res);  // 调用控制器方法
});

// 上架农产品（恢复）
router.post('/reactivate', (req, res) => {
    agriController.reactivateProduct(req, res);  // 调用控制器方法
});

// 获取政府的农产品接口
router.get('/gov', (req, res) => {
    agriController.getGovernmentProducts(req, res);  // 调用控制器方法
});

// 获取农户的农产品接口
router.get('/farmer', (req, res) => {
    agriController.getFarmerProducts(req, res);  // 调用控制器方法
});

// 根据产品名字搜索公告
router.get('/search', (req, res) => {
    agriController.searchProduct(req, res);  // 调用控制器方法
});

router.post('/', (req, res) => {
    agriController.createAgriProduct(req, res);
});

router.post('/add', upload.single('images'), (req, res) => {
agriController.createAgriWithImg(req, res);
});

router.post('/adds', upload.array('images'), (req, res) => {
    agriController.createAgriWithImgs(req, res);
});

router.post('/upload', upload.single('images'), (req, res) => {
agriController.createAgriProductImg(req, res);
});

module.exports = router;
